#ifndef IntroState_h__
#define IntroState_h__

#include "NonCopyable.h"
#include "Singleton.h"
#include "GameState.h"
#include "Scene.h"
#include "AntTweakBar.h"
#include "MainRenderState.h"

//the playable state
class IntroState : public GameState, public NonCopyable
{
private:
    IntroState();
    friend class Singleton<IntroState>;

public:
    /* GameState OverRides */
    virtual void	Update();
    virtual void	Draw();

    void ManageTaskDivisionsUI();

    void ManageSceneSelectionUI();

    void ManageTileModeUI();

    virtual void	Initialise();
    virtual void	CleanUp();
    virtual void	OnResume();

    /* State specific */
    void CreateUI();
    MainRenderStateData& GetData(){return m_data;}

private:
    //Screen sizes
    int m_screenX;
    int m_screenY;
    TwBar* m_bar;
    MainRenderStateData m_data;
    bool m_shouldSplit;
    int m_numberOfRaysPP;
    int m_totalRays;
    int m_raysPerTask;
    int m_raysPerThread;
};

typedef Singleton<IntroState> TheIntroState;

#endif // IntroState_h__
